<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <properties>
        <!-- Project -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.build.outputEncoding>UTF-8</project.build.outputEncoding>

        <!-- Kotlin -->
        <kotlin.version>1.5.31</kotlin.version>

        <!-- Spring -->
        <spring.version>5.3.20</spring.version>
        <spring.boot.version>2.4.3</spring.boot.version>

        <!-- Javax -->
        <javax.version>2.3.1</javax.version>

        <!-- Apache -->
        <apache.lucene.version>7.1.0</apache.lucene.version>
        <apache.commons.io.version>2.11.0</apache.commons.io.version>
        <apache.commons.logging.version>1.2</apache.commons.logging.version>

        <!-- JGit -->
        <jgit.version>5.11.1.202105131744-r</jgit.version>

        <!-- MapDB -->
        <mapdb.version>3.0.9</mapdb.version>

        <!-- Hibernate -->
        <hibernate.version>5.5.7.Final</hibernate.version>

        <!-- Postgres -->
        <postgres.version>42.6.0</postgres.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
    </parent>

    <name>Git Search App</name>
    <groupId>org.akolomiets.search</groupId>
    <artifactId>git-search-app</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>demo-app</module>
        <module>git-search-client</module>
        <module>module-git-search</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <!-- Javax -->
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${javax.version}</version>
            </dependency>

            <!-- Apache Lucene -->
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-core</artifactId>
                <version>${apache.lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-queryparser</artifactId>
                <version>${apache.lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-common</artifactId>
                <version>${apache.lucene.version}</version>
            </dependency>

            <!-- Apache Commons IO -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${apache.commons.io.version}</version>
            </dependency>

            <!-- Apache Commons Logging -->
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${apache.commons.logging.version}</version>
            </dependency>

            <!-- JGit -->
            <dependency>
                <groupId>org.eclipse.jgit</groupId>
                <artifactId>org.eclipse.jgit.ssh.jsch</artifactId>
                <version>${jgit.version}</version>
            </dependency>

            <!-- MapDB -->
            <dependency>
                <groupId>org.mapdb</groupId>
                <artifactId>mapdb</artifactId>
                <version>${mapdb.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernate.version}</version>
            </dependency>

            <!-- Postgres -->
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${postgres.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>

        <!-- Kotlin -->
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib-jdk8</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-reflect</artifactId>
            <version>${kotlin.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-test</artifactId>
            <version>${kotlin.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
